/*     */ package dm.jdbc.driver;
/*     */ 
/*     */ import dm.jdbc.dbaccess.Const;
/*     */ import java.io.PrintStream;
/*     */ import java.sql.DriverManager;
/*     */ import java.sql.Timestamp;
/*     */ import java.util.Hashtable;
/*     */ import java.util.StringTokenizer;
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ public class DmdbLog
/*     */ {
/*     */   public static final int NONE = 0;
/*     */   public static final int ERROR = 1;
/*     */   public static final int DEBUG = 2;
/*     */   public static final int TRACE = 3;
/*     */   public static final int ALL = 4;
/*  36 */   private static final Hashtable CLASSES = new Hashtable();
/*     */   
/*  38 */   private static final Object MUTEX = new Object();
/*     */   
/*  40 */   private static boolean watchAll = true;
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public static final void methodCall(Object source, String method, Object[] args)
/*     */   {
/*  54 */     synchronized (MUTEX) {
/*  55 */       if ((watchAll) || (CLASSES.contains(source.getClass().getName())))
/*     */       {
/*  57 */         StringBuffer mesg = new StringBuffer("\nTRACE: ");
/*  58 */         mesg.append(source.toString());
/*  59 */         mesg.append(".");
/*  60 */         mesg.append(method);
/*  61 */         mesg.append("( ");
/*     */         
/*     */ 
/*  64 */         for (int i = 0; i < args.length - 1; i++) {
/*  65 */           if (args[i] == null) {
/*  66 */             mesg.append("null");
/*     */           } else {
/*  68 */             if ((args[i] instanceof String)) {
/*  69 */               mesg.append("\"");
/*     */             }
/*     */             
/*  72 */             mesg.append(args[i].toString());
/*     */             
/*  74 */             if ((args[i] instanceof String)) {
/*  75 */               mesg.append("\"");
/*     */             }
/*     */           }
/*     */           
/*  79 */           mesg.append(", ");
/*     */         }
/*     */         
/*  82 */         if (args.length > 0) {
/*  83 */           if ((args[(args.length - 1)] instanceof String)) {
/*  84 */             mesg.append("\"");
/*     */           }
/*     */           
/*  87 */           mesg.append(args[(args.length - 1)]);
/*     */           
/*  89 */           if ((args[(args.length - 1)] instanceof String)) {
/*  90 */             mesg.append("\"");
/*     */           }
/*     */         }
/*     */         
/*  94 */         mesg.append(" )\n");
/*     */         
/*  96 */         if (DriverManager.getLogWriter() == null) {
/*  97 */           System.out.println(mesg.toString());
/*     */         } else {
/*  99 */           DriverManager.println(mesg.toString());
/*     */         }
/*     */       }
/*     */     }
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public static final void msg(Object source, String message)
/*     */   {
/* 114 */     synchronized (MUTEX) {
/* 115 */       if ((watchAll) || (CLASSES.contains(source.getClass().getName())))
/*     */       {
/* 117 */         StringBuffer mesg = new StringBuffer("\nTRACE: ");
/* 118 */         mesg.append(source.toString());
/* 119 */         mesg.append(": ");
/* 120 */         mesg.append(message);
/* 121 */         mesg.append("\n");
/*     */         
/* 123 */         if (DriverManager.getLogWriter() == null) {
/* 124 */           System.out.println(mesg.toString());
/*     */         } else {
/* 126 */           DriverManager.println(mesg.toString());
/*     */         }
/*     */       }
/*     */     }
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public static final void returnValue(Object source, String method, Object value)
/*     */   {
/* 144 */     synchronized (MUTEX) {
/* 145 */       if ((watchAll) || (CLASSES.contains(source.getClass().getName())))
/*     */       {
/* 147 */         StringBuffer mesg = new StringBuffer("\nTRACE: ");
/* 148 */         mesg.append(source.toString());
/* 149 */         mesg.append(".");
/* 150 */         mesg.append(method);
/* 151 */         mesg.append(": Returning -> ");
/*     */         
/* 153 */         if (value == null) {
/* 154 */           mesg.append("null");
/*     */         } else {
/* 156 */           mesg.append(value.toString());
/*     */         }
/*     */         
/* 159 */         mesg.append("\n");
/*     */         
/* 161 */         if (DriverManager.getLogWriter() == null) {
/* 162 */           System.out.println(mesg.toString());
/*     */         } else {
/* 164 */           DriverManager.println(mesg.toString());
/*     */         }
/*     */       }
/*     */     }
/*     */   }
/*     */   
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */ 
/*     */   public static final void setTraceList(String classList)
/*     */   {
/* 177 */     StringTokenizer tokenizer = new StringTokenizer(classList, ":");
/*     */     
/* 179 */     synchronized (MUTEX) {
/* 180 */       watchAll = false;
/*     */       
/* 182 */       if (classList.equals("ALL")) {
/* 183 */         watchAll = true;
/*     */       } else {
/* 185 */         while (tokenizer.hasMoreTokens()) {
/* 186 */           String className = tokenizer.nextToken().trim();
/*     */           
/* 188 */           if (!CLASSES.contains(className)) {
/* 189 */             CLASSES.put(className, className);
/*     */           }
/*     */         }
/*     */       }
/*     */     }
/*     */   }
/*     */   
/*     */   public static final void trace(Object source, String method, String info) {
/* 197 */     if ((Const.TRACE_LEVEL >= 3) && (
/* 198 */       (watchAll) || (CLASSES.contains(source.getClass().getName())))) {
/* 199 */       synchronized (MUTEX)
/*     */       {
/* 201 */         StringBuffer mesg = new StringBuffer("\n" + 
/* 202 */           new Timestamp(System.currentTimeMillis()) + 
/* 203 */           "--TRACE: ");
/* 204 */         mesg.append(source.toString());
/* 205 */         mesg.append(".");
/* 206 */         mesg.append(method);
/*     */         
/* 208 */         mesg.append(": ");
/*     */         
/* 210 */         mesg.append(info);
/*     */         
/* 212 */         mesg.append("\n");
/*     */         
/* 214 */         if (DriverManager.getLogWriter() == null) {
/* 215 */           System.out.println(mesg.toString());
/*     */         } else {
/* 217 */           DriverManager.println(mesg.toString());
/*     */         }
/*     */       }
/*     */     }
/*     */   }
/*     */ }


/* Location:              D:\Program Files\DBMS_20150813\jdbc\Dm7JdbcDriver17.jar!\dm\jdbc\driver\DmdbLog.class
 * Java compiler version: 2 (46.0)
 * JD-Core Version:       0.7.1
 */